package com.whfc.emp.service;

import com.whfc.emp.entity.WorkDailyReport;
import com.whfc.entity.dto.Apply.rep.DailyReportDisplayRep;
import com.whfc.entity.dto.Apply.rep.WorkDailyReportDTO;
import com.whfc.entity.dto.Apply.req.AppEntryApplicationReq;
import com.whfc.entity.dto.Apply.req.WorkDailyReportQueryReq;

import java.util.List;

/**
 * 工作日报Service，封装业务逻辑
 */
public interface WorkDailyReportService {
    // 新增日报（全量）
    int addReport(WorkDailyReport report);
    // 新增日报（选择性）
    int addReportSelective(WorkDailyReport report);
    // 根据ID查询日报
    WorkDailyReport getById(Long id);
    // 按计划ID查询日报列表
    List<WorkDailyReport> getByPlanId(Long planId);
    // 按汇报人ID查询日报列表
    List<WorkDailyReport> getByReporter(Long reporterId);
    // 更新日报（全量）
    int updateReport(WorkDailyReport report);
    // 更新日报（选择性）
    int updateReportSelective(WorkDailyReport report);
    // 根据ID删除日报
    int deleteById(Long id);

    List<DailyReportDisplayRep> queryHarvestReport(WorkDailyReportQueryReq req);

    List<DailyReportDisplayRep> queryMyDailyReport(WorkDailyReportQueryReq req);

    List<WorkDailyReportDTO> selectReportList(AppEntryApplicationReq req);

}